package com.jeegod.core.exception;

/**
 * 基础异常类
 *
 * @author 龚小龙
 * @version 1.0-20181216
 */
public class BaseException extends RuntimeException {

    /**
     * 序列版本ID，用于序列化绑定，反序列化时验证
     */
    private static final long serialVersionUID = -5318627153356357841L;

    /**
     * 错误编码
     */
    protected String code;

    /**
     * 默认构造函数
     * <p>一般添加带参数的构造函数时都会将默认构造函数显示编码出来</p>
     */
    public BaseException() {
    }

    /**
     * 构造函数：记录异常的错误信息
     * @param message 错误信息
     */
    public BaseException(String message) {
        super(message);
    }

    /**
     * 构造函数：记录异常的错误编码和错误信息
     * @param code 错误编码
     * @param message 错误信息
     */
    public BaseException(String code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * 获取：错误编码
     * @return 错误编码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置：错误编码
     * @param code 错误编码
     */
    public void setCode(String code) {
        this.code = code;
    }

}
